package com.tedu.api.io;

import org.junit.Test;

import java.io.File;
import java.io.FileFilter;

/**
 * 作业1：listFiles(FileFilter接口)，原来是使用实现类方式
 *                                 使用匿名内部类方式
 *      创建1次对象，使用匿名内部类
 *      语法：  接口  接口引用=new 接口(){重写：accept};
 *
 * 作业2：删除  demo 下有 abc 以及 bcd 的文件
 *     提示：demo/abc/bcd
 *     查 File构造器方法:从内部依次删除
 *     new File(parent,"路径");  --API介绍
 *     构造器：第一个参数：指定父级路径---确定---使用传两个参数方法
 *            第二个参数：指定子集路径
 */
public class HomeWork {
    @Test
    public void testDelete(){
        //demo/abc/bcd/demo.txt
        String parent="demo"+File.separator;
        //demo/abc/bcd/demo.txt    第一个子集：删除demo.txt
        String child1="abc"+File.separator+"bcd" +
                ""+File.separator+"demo.txt";
        String child2="abc"+File.separator+"bcd";
        String child3="abc";
          //创建4次File对象
        File file=new File(parent,child1);
        file.delete();
        File file2=new File(parent,child2);  //删掉bcd文件夹
        file2.delete();
        File file3=new File(parent,child3);  //删掉abc
        file3.delete();
        File file4=new File(parent);
        file4.delete();
        }
    @Test
    public static void main(String[] args) {
        File file=new File(".");
        FileFilter filefilter=new FileFilter() {
            public boolean accept(File pathname) {
                String name=pathname.getName();
                System.out.println("获取的名称是: "+name);
                return name.startsWith("s");
            }
        };
        File[] subs=file.listFiles(filefilter);
        for(int i=0;i<subs.length;i++){  //5.1 i获取数组下标
            //5.2 数组名[下标]
            System.out.println("过滤后的文件夹: "+subs[i].getName());
        }
    }
}

